
# 字符串格式化

# 1. 使用%进行格式化 ， 格式 ： "xxxxxx %s" % ('字符串')
"""
字符数格式:
%s :        格式化字符串
%d :        格式化整数
%f :        格式化浮点数
"""
name = '张三'
age = 23
my_str = "my name is %s" % (name)
print(my_str)

my_str1 = "%s今年%d岁" \
          % (name,age)
print(my_str1)

my_str2 = "一斤苹果%f元" % (3.56)
print(my_str2)

"""
m.n : m是显示的最小总宽度，n是小数点后的保留位数
- : 用作左对齐
+ ：在正数前面显示加号(+)
: 在正数前显示空格
0 ： 显示的数字前面填充0而不是默认的空格
"""

print("===============")
print("保留3位数字->'%.3f'" % 659)
print("返回的数字宽度是8位，小数后两位，默认右对齐->'%8.2f'" % 659) #数字宽度8位，数字占了6位，剩余的两位被空格占用
print("返回的数字宽度是8位，小数后两位，设置左对齐->'%-8.2f'" % 659)
print("数字前显示+号->'%+8.2f'" % 659)
print("数字前显示-号->'%+8.2f'" % -659)
print("总宽度是8位，小数后两位，剩余空位用0补齐->'%08.2f'" % 659)


# 2. 使用format()进行格式化 ： "  {}  ".format('值')

my_str = "my name is {}".format(name)
print(my_str)

my_str1 = "{}今年{}岁".format(name,age)
print(my_str1)

my_str2 = "一斤苹果{}元".format(3.56)
print(my_str2)

# 位置参数
my_str1 = "{1}今年{0}岁".format(age,name)
print(my_str1)

# 关键字参数
my_str1 = "{name}今年{age}岁".format(age=age,name=name)
print(my_str1)